package com.rocky.study.generic;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class GenericDemo1 {

    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("abc");
        list.add("xiao");
//        list.add(5);
        // 当集合明确类型后,存放类型不一致就会编译报错
        // 集合已经明确具体存放的元素类型,那么在使用迭代器的时候,
        // 迭代器也同样会知道具体遍历元素类型
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            // 当使用Iterator<String> 控制元素类型后,就不需要强转了。获取到的元素直接就是String
            String str = iterator.next();
            System.out.println(str.length());
        }
    }
}
